package com.ks.member.entity;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 会员-实名申请单
 * </p>
 *
 * @author kingdee123
 * @since 2020-12-23
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("member_realname")
public class MemberRealname extends Model<MemberRealname> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键Id
     */
    @TableId(value = "ID", type = IdType.AUTO)
    private Integer id;
    /**
     * 提交实名认证的会员的ID
     */
    @TableField("memberID")
    private Integer memberID;
    /**
     * 实名认证的真实姓名
     */
    @TableField("realName")
    private String realName;
    /**
     * 身份证号
     */
    @TableField("personID")
    private String personID;
    /**
     * 证件类型 默认为0 表示居民身份证
     */
    @TableField("cardType")
    private Integer cardType;
    /**
     * 证件正面照URL
     */
    @TableField("idCardA")
    private String idCardA;
    /**
     * 证件反面照URL
     */
    @TableField("idCardB")
    private String idCardB;
    /**
     * 实名认证审核状态0待审核 1 审核通过 2 审核拒绝。同一个会员在同一个租户下只有一个审核通过的记录。审核通过后需要更新member数据的实名认证状态
     */
    @TableField("checkResult")
    private Integer checkResult;
    /**
     * 实名认证审核方式0 人工 1 自动
     */
    @TableField("checkType")
    private Integer checkType;
    /**
     * 审核时间
     */
    @TableField("checkTime")
    private Date checkTime;
    /**
     * 审核人（由前端作为参数带来）
     */
    @TableField("checkman")
    private String checkman;
    /**
     * 审核意见
     */
    @TableField("checkRemark")
    private String checkRemark;
    /**
     * 创建时间
     */
    @TableField("createTime")
    private Date createTime;
    /**
     * 创建人
     */
    @TableField("createUserID")
    private Integer createUserID;
    /**
     * 租户代码
     */
    @TableField("tenantID")
    private Integer tenantID;
    /**
     * 组织代码
     */
    @TableField("orgID")
    private Integer orgID;
    /**
     * 机构代码
     */
    @TableField("orgSubID")
    private Integer orgSubID;
    /**
     * 更新时间
     */
    @TableField("updateTime")
    private Date updateTime;
    /**
     * 更新人
     */
    @TableField("updateUserID")
    private Integer updateUserID;
    /**
     * 删除标识
     */
    @TableField("delMark")
    private Integer delMark;
    /**
     * 版本（用于进行写冲突控制）每次更新数据本字段加1
     */
    @TableField("version")
    private Long version;
    /**
     * 数据类型(SYS，TENANT)，表示此数据属于租户数据还是系统数据
     */
    @TableField("dataType")
    private String dataType;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
